---
title: "React Specific Test Cases"
frameworks: ["react"]
---

This is an internal page for testing purposes only. It is not intended for public use or documentation.

## Re-order Grids

This example demonstrates the ability to re-order multiple AG Grid instances without causing UI crashes or errors. This is an interesting test case especially in Dev Mode as it exercises some specific strict mode double rendering scenarios new to React 19.

{% gridExampleRunner title="Re-order Grids" name="reorder-grids" exampleHeight=650  /%}

## Updating Row Data without RowIds

This example tests the rendering behavior of AG Grid when updating row data without specifying `rowId` properties. This has lead to collapsing cells in the past and now there is a difference between renderingModes.

- `renderingMode: 'legacy'` - There is no flashing of rows, but when throttling the CPU, then after some time the grid crashes with an error.
```
Uncaught Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
```
- `renderingMode: 'default'` - The grid does not crash, but there is flashing of rows when the data is updated.

{% note %}
When `getRowId` is provided both work as expected, without flashing and without crashing.
{% /note %}

{% gridExampleRunner title="Updating Row Data without RowIds" name="updating-row-data-without-row-ids" /%}

## Test Cleardown

This example mimics the way that Vitest clears the window as part of its test tear down process. We had issues where `window.setInterval` and `window.setTimeout` were not being cleared correctly, when the grid was destroyed leading to attempted calls to window methods that no longer existed.

There should be no errors in the console when clicking the "Destroy" button.

{% gridExampleRunner title="Test Tear Down" name="test-tear-down" exampleHeight=350 /%}